package itheima01;

import java.util.*;
import java.util.stream.Collectors;

/**
 * @author Xiao
 * @date 2021/7/28
 */
@SuppressWarnings("all")
public class StreamDemo05 {
    /**
     * Stream流的收集方法：
     * 	R collect(Collector collector)
     *          （Stream对象调用该收集方法，形参为收集器，可以传入工具类Collectors提供的收集方法）
     * 工具类Collectors提供了具体的收集方式：
     * 	public static <T> Collector toList()：把元素收集到List集合中；
     * 	public static <T> Collector toSet()：把元素收集到Set集合中；
     * 	public static <T> Collector toMap(Function keyMapper, Function calueMapper)：把元素收集到Map集合中；
     */
    public static void main(String[] args) {
        /**
         * collect:收集数据；
         * Collectors.toList()/toSet():在底层创建一个对应的List/Set集合添加数据。
         */
        ArrayList<Integer> list = new ArrayList<>(List.of(1, 2, 3, 4, 5));
        List<Integer> list1 = list.stream().collect(Collectors.toList());
        HashSet<String> hs = new HashSet<>(Set.of("aa", "bb", "cc"));
        Set<String> set = hs.stream().collect(Collectors.toSet());
    }
}
